perm filename SDIO.LAP[BNF,JRA] blob sn#030175 filedate 1973-03-14 generic text, type T, neo UTF8
(SETQ IBASE (ADD1 7)) 

(DEFPROP SDIO (NIL SDIOSET SDIOINIT IN OUT CH QCH UNCH SPWD *NIL* $PDLSIZE TOP STK0 STK1 STK2 STK3 STK4 STK5 OUT~
PDL OUTBKU START FUNFLAT DOPRINT FPRINT FSIZE SPACING SPACES OTST OUTTST <ATOM> <ID> <NUMBER> <CHAR> <UNARY_OP> ~
FCALL >ATOM< >ID< RESERVEDWORDS >NUMBER< >CHAR<) VALUE) 

(LAP SDIOSET SUBR) 
	(CLEARM 1 (SPECIAL SCNVAL)) 
	(MOVEI 2 (QUOTE VALUE)) 
	(MOVEI 1 (QUOTE SCNVAL)) 
	(CALL 2 (E GET)) 
	(EXCH 2 1) 
	(MOVEI 1 (QUOTE SCNVAL)) 
	(CALL 2 (E *PUTSYM)) 
	(MOVEI 1 (QUOTE ((TRUTH (QUOTE T)) (NILX (QUOTE *NIL*)) (STAR (QUOTE *))))) 
	(CALL 17 (E PUTSYM)) 
	(MOVEI 1 (QUOTE NIL)) 
	(POPJ P) 
	NIL 

(LAP SDIOINIT SUBR) 
	(MOVEI 1 (QUOTE (N I L))) 
	(CALL 1 (E MAKNAM)) 
	(MOVEM 1 (SPECIAL %%NIL)) 
	(MOVEI 1 (QUOTE (SUBR ATM %TRY SCANINIT LETTER IGNORE SCAN SCANSET SCANRESET CHX SPWDX REDUCE STK PPOS P~
DLSET LOC FLATC NLRR LRR OUTRUL MATCH))) 
	(CALL 17 (E GETSYM)) 
	(MOVEI 5 (QUOTE 45)) 
	(MOVEI 4 (QUOTE 42)) 
	(MOVEI 3 (QUOTE 42)) 
	(MOVEI 2 (QUOTE 12)) 
	(MOVEI 1 (QUOTE 176)) 
	(CALL 5 (E SCANINIT)) 
	(MOVEI 1 (QUOTE 12)) 
	(CALL 1 (E IGNORE)) 
	(MOVEI 1 (QUOTE 175)) 
	(CALL 1 (E IGNORE)) 
	(MOVEI 1 (QUOTE 11)) 
	(CALL 1 (E IGNORE)) 
	(MOVEI 1 (QUOTE 15)) 
	(CALL 1 (E IGNORE)) 
	(MOVEI 1 (QUOTE 40)) 
	(CALL 1 (E IGNORE)) 
	(MOVEI 1 (QUOTE 30)) 
	(CALL 1 (E LETTER)) 
	(MOVEI 1 (QUOTE 105)) 
	(MOVEM 1 (SPECIAL MAXLNG)) 
	(MOVEI 1 (QUOTE 0)) 
	(CALL 1 (E ASCII)) 
	(CALL 1 (E INTERN)) 
	(CALL 1 (E NCONS)) 
	(MOVEI 2 (QUOTE :CH)) 
	(CALL 2 (E XCONS)) 
	(MOVEM 1 (SPECIAL FOOBAZ)) 
	(MOVEI 1 (QUOTE (>ATOM< ((>ATOM< . 1)) SPACING))) 
	(CALL 17 (E DEFPROP)) 
	(MOVEI 1 (QUOTE SCANRESET)) 
	(CALL 1 (E INITFN)) 
	(MOVEI 1 (QUOTE NIL)) 
	(POPJ P) 
	NIL 

(LAP IN FSUBR) 
	(PUSH P 1) 
	(CALL 0 (E SCANSET)) 
	(CALL 0 (E START)) 
	(MOVE 1 0 P) 
	(CALL 1 (E *EVAL)) 
	(PUSH P 1) 
	(CALL 0 (E SCANRESET)) 
	(MOVE 1 0 P) 
	(JUMPE 1 TAG5) 
	(CALL 0 (E TOP)) 
	(JRST 0 TAG4) 
TAG5 	(MOVE 1 (SPECIAL *NIL*)) 
TAG4 	(SUB P (C 0 0 2 2)) 
	(POPJ P) 
	NIL 

(LAP OUT FSUBR) 
	(PUSH P 1) 
	(CALL 1 (E CADR)) 
	(CALL 1 (E *EVAL)) 
	(HLRZ@ 2 0 P) 
	(CALL 2 (E OUTTST)) 
	(CALL 1 (E NCONS)) 
	(CALL 1 (E NCONS)) 
	(CALL 1 (E FUNFLAT)) 
	(MOVEM 1 (SPECIAL &&Z)) 
	(MOVE 1 (SPECIAL MAXLNG)) 
	(CALL 1 (E OTST)) 
	(MOVEI 1 (QUOTE NIL)) 
	(SUB P (C 0 0 1 1)) 
	(POPJ P) 
	NIL 

(LAP UNCH SUBR) 
	(MOVEI 2 (QUOTE PNAME)) 
	(CALL 2 (E GET)) 
	(MOVEI 2 (QUOTE FIXNUM)) 
	(CALL 1 (E CAAR)) 
	(CALL 2 (E MAKNUM)) 
	(MOVEI 2 (QUOTE -13)) 
	(JCALL 2 (E LSH)) 
	NIL 

(DEFPROP *NIL* (NIL . *NIL*) VALUE) 

(DEFPROP $PDLSIZE (NIL . 1000) VALUE) 

(LAP TOP SUBR) 
	(MOVEI 1 (QUOTE 4)) 
	(JCALL 1 (E PDL)) 
	NIL 

(LAP STK0 SUBR) 
	(MOVEI 1 (QUOTE 0)) 
	(JCALL 1 (E STK)) 
	NIL 

(LAP STK1 SUBR) 
	(MOVEI 1 (QUOTE 1)) 
	(JCALL 1 (E STK)) 
	NIL 

(LAP STK2 SUBR) 
	(MOVEI 1 (QUOTE 2)) 
	(JCALL 1 (E STK)) 
	NIL 

(LAP STK3 SUBR) 
	(MOVEI 1 (QUOTE 3)) 
	(JCALL 1 (E STK)) 
	NIL 

(LAP STK4 SUBR) 
	(MOVEI 1 (QUOTE 4)) 
	(JCALL 1 (E STK)) 
	NIL 

(LAP STK5 SUBR) 
	(MOVEI 1 (QUOTE 5)) 
	(JCALL 1 (E STK)) 
	NIL 

(LAP OUTPDL SUBR) 
	(PUSH P 1) 
TAG1 	(MOVE 1 0 P) 
	(CALL 1 (E MINUSP)) 
	(JUMPE 1 TAG6) 
	(MOVEI 1 (QUOTE BOTTOM)) 
	(JRST 0 TAG2) 
TAG6 	(MOVE 2 0 P) 
	(MOVE 1 2) 
	(CALL 2 (E *PLUS)) 
	(MOVEI 2 (QUOTE 1)) 
	(CALL 2 (E *PLUS)) 
	(CALL 1 (E PDL)) 
	(MOVE 2 0 P) 
	(PUSH P 1) 
	(MOVE 1 2) 
	(CALL 2 (E *PLUS)) 
	(CALL 1 (E PDL)) 
	(POP P 2) 
	(CALL 2 (E XCONS)) 
	(CALL 1 (E PRINT)) 
	(MOVE 1 0 P) 
	(CALL 1 (E SUB1)) 
	(MOVEM 1 0 P) 
	(JRST 0 TAG1) 
TAG2 	(SUB P (C 0 0 1 1)) 
	(POPJ P) 
	NIL 

(LAP OUTBKU SUBR) 
	(PUSH P 1) 
TAG1 	(MOVE 1 0 P) 
	(CAIE 1 (QUOTE 0)) 
	(JRST 0 TAG6) 
	(MOVEI 1 (QUOTE BOTTOM)) 
	(JRST 0 TAG2) 
TAG6 	(MOVE 2 0 P) 
	(MOVE 1 2) 
	(CALL 2 (E *PLUS)) 
	(MOVEI 2 (QUOTE 1)) 
	(CALL 2 (E *PLUS)) 
	(CALL 1 (E BACKUP)) 
	(MOVE 2 0 P) 
	(PUSH P 1) 
	(MOVE 1 2) 
	(CALL 2 (E *PLUS)) 
	(CALL 1 (E BACKUP)) 
	(POP P 2) 
	(CALL 2 (E XCONS)) 
	(CALL 1 (E PRINT)) 
	(MOVE 1 0 P) 
	(CALL 1 (E SUB1)) 
	(MOVEM 1 0 P) 
	(JRST 0 TAG1) 
TAG2 	(SUB P (C 0 0 1 1)) 
	(POPJ P) 
	NIL 

(LAP START SUBR) 
	(MOVEI 2 (QUOTE SUBR)) 
	(MOVEI 1 (QUOTE PDL)) 
	(CALL 2 (E GET)) 
	(JUMPN 1 TAG4) 
	(MOVEI 1 (QUOTE (BACKUP T $PDLSIZE))) 
	(CALL 17 (E ARRAY)) 
	(MOVEI 1 (QUOTE (PDL T $PDLSIZE))) 
	(CALL 17 (E ARRAY)) 
TAG5 
TAG4 	(MOVEI 2 (QUOTE SUBR)) 
	(MOVEI 1 (QUOTE PDL)) 
	(CALL 2 (E GET)) 
	(PUSH P 1) 
	(MOVEI 1 (QUOTE BACKUP)) 
	(CALL 2 (E GET)) 
	(MOVEI 2 (QUOTE 2)) 
	(PUSH P 1) 
	(MOVE 1 (SPECIAL $PDLSIZE)) 
	(CALL 2 (E *QUO)) 
	(MOVE 3 1) 
	(POP P 2) 
	(POP P 1) 
	(CALL 3 (E PDLSET)) 
	(MOVEI 1 (QUOTE NIL)) 
	(POPJ P) 
	NIL 

(LAP FUNFLAT SUBR) 
	(PUSH P 1) 
	(PUSH P (C 0 0 (QUOTE 0) 0)) 
	(MOVEI 2 (QUOTE NIL)) 
	(CALL 2 (E XCONS)) 
	(PUSH P 1) 
	(PUSH P 1) 
	(PUSH P (C 0 0 (QUOTE NIL) 0)) 
	(PUSH P (C 0 0 (QUOTE NIL) 0)) 
TAG1 	(HRRZ@ 1 -2 P) 
	(MOVEM 1 -5 P) 
	(JUMPN 1 TAG6) 
	(MOVE 1 -4 P) 
	(HRLM@ 1 -3 P) 
	(MOVE 1 -3 P) 
	(JRST 0 T